package com.zxl.study.confusion.v4;

import com.zxl.study.confusion.OrderDetailModel;
import com.zxl.study.confusion.OrderMainModel;

import java.util.List;

/**
 * @auther zxl
 * @create 2023-08-13 15:43
 * <p>
 * 处理现金支付的业务 的 职责对象
 */
public class CashPayHandler extends SaveOrderHandler
{
    @Override
    public void handleRequest(SaveOrderRequestModel saveOrderRequestModel)
    {
        //处理自己的业务

        //8：如果是现结客户，或者是月结支付额度不足，需要现金支付

        if (!saveOrderRequestModel.isMonth() ||
                (saveOrderRequestModel.isMonth() && !saveOrderRequestModel.isAutoPayOk()) )
        {
            //8.1：创建现金支付单
            //            this.createCashPaySheet(orderMainModel,orderDetailModelList);

            System.out.println("CashPayHandler=========>");
        }

        //最后一步，调用父类的方法，向后传递请求对象
        super.handleRequest(saveOrderRequestModel);
    }

    /**
     * 创建现结的支付单
     *
     * @param orderMainModel
     * @param orderDetailModelList
     */
    //功能方法
    private void createCashPaySheet(OrderMainModel orderMainModel, List<OrderDetailModel> orderDetailModelList)
    {
        //8.1：创建现金支付单
        //调用：PayAndFinanceCenter4OrderApi.createPaySheet
    }
}

